Trang tài liệu Trí Nam

Hãy viết code như thể người maintain là một đứa sát nhân điên cuồng biết địa chỉ nhà bạn

AutoCompletePickerControlSchema

Estimated reading: 4 minutes 241 views

Hình ảnh / Demo

Link demo: https://dhgt-canbo.dttt.vn/admin/authorization/role

Mục đích

Tạo một ô input có thể gợi ý khi nhập text và có thể chọn dữ liệu từ 1 danh sách có sẵn trong form bằng cách click vào biểu tượng ở cuối cùng của control.

Cách dùng

Import

Import vào đầu file .ts cần sử dụng

				
					import { AutoCompletePickerControlSchema } from 'tnx-shared';
				
			

Cách dùng cơ bản

AutoCompletePickerControlSchema được thêm vào trong this.setting.schema khi khởi tạo form.

				
					...
ngOnInit() {
...
    this.setting.schema = [
        new AutoCompletePickerControlSchema({
            field: 'myField',
            label: 'Trường muốn dùng',
            title: 'Text của nút chọn',
            baseService: ,
            columns: [
                new EntityPickerColumn({
                    code: 'field1',
                    label: 'Trường thứ 1 của danh sách',
                    operator: Operator.contain
                }),
                new EntityPickerColumn({
                    code: 'field2',
                    label: 'Trường thứ 2 của danh sách',
                    operator: Operator.contain
                })
            ]
        }),
        ...
    ]
    ...
}
...
				
			

Note) Mặc định khi khởi tạo giá trị valueField sẽ là: ‘id’ và displayField là ‘ten’ ứng với cột ‘id‘ và ‘ten‘ trong database

Thuộc tính

Sự kiện

				
					ngOnInit() {
    this.setting.schema = [
        new AutoCompletePickerControlSchema({
            field: 'myField',
            label: 'Trường muốn dùng',
            title: 'Text của nút chọn',
            baseService: 'Service để lấy dữ liệu của control',
            columns: [
                new EntityPickerColumn({
                    code: 'field1',
                    label: 'Trường thứ 1 của danh sách',
                    operator: Operator.contain
                }),
                new EntityPickerColumn({
                    code: 'field2',
                    label: 'Trường thứ 2 của danh sách',
                    operator: Operator.contain
                })
            ],
            onSearchFormInitialized: (evt: EventData) => {
                // Event fire khi tìm kiếm
                // Do something
            },
            onFormEvent: (evt: EventData) => {
                // Event fire khi thao tác với control
                // Do something
            },
            onSelectEntity: (evt: EventData) => {
                // Event fire khi chọn 1 bản ghi trong danh sách
                // Do something
            },
            onChanged: (evt: EventData) => {
                // Event fire khi thay đổi dữ liệu của danh sách
                console.log(eventData);
                if (this.model.data.property) {
                    evt.formControls['other control name'].hidden = true;
                } else {
                evt.formControls['other control name'].hidden = false;
                }
            },
            onInit: (evt: EventData) => {
                // Event fire khi khởi tạo dữ liệu của danh sách
                // Do something
            }
        })
    ]
}
				
			
CONTENTS