<AppInput
    {{#if editor.placeHolder}}
    placeholder="{{editor.placeHolder}}"
    {{/if}}
    {{#if editor.readOnly}}
    :readOnly="{{editor.readOnly}}"
    {{/if}}
    {{#if item.valueFormat}}
    valueFormat="{{item.valueFormat}}"
    {{else if item.psAppDEField.valueFormat}}
    valueFormat="{{item.psAppDEField.valueFormat}}"
    {{/if}}
    v-bind="{{CustomParams 'editor' editor}}"
{{#if editor.editorParams}}
    {{#if editor.editorParams.max}}
    :max="{{editor.editorParams.max}}"
    {{/if}}
    {{#if editor.editorParams.min}}
    :min="{{editor.editorParams.min}}"
    {{/if}}
    {{#if editor.editorParams.precision}}
    :precision="{{editor.editorParams.precision}}"
    {{/if}}
    {{#if editor.editorParams.maxLength}}
    :maxLength="{{editor.editorParams.maxLength}}"
    {{/if}}
    {{#if editor.editorParams.showMaxLength}}
    :showMaxLength="{{editor.editorParams.showMaxLength}}"
    {{/if}}
    {{#if editor.editorParams.rows}}
    :rows="{{editor.editorParams.rows}}"
    {{/if}}
    {{#if editor.editorParams.enableShowPwd}}
    :visibilityToggle="{{editor.editorParams.enableShowPwd}}"
    {{/if}}
    {{#if editor.editorParams.size}}
    size="{{editor.editorParams.size}}"
    {{/if}}
    {{#if editor.editorParams.append}}
    afterLabel="{{editor.editorParams.append}}"
    {{/if}}
    {{#if editor.editorParams.prepend}}
    beforeLabel="{{editor.editorParams.prepend}}"
    {{/if}}
    {{#if editor.editorParams.maxRows}}
    :maxRows="{{editor.editorParams.maxRows}}"
    {{/if}}
    {{#if editor.editorParams.minRows}}
    :minRows="{{editor.editorParams.minRows}}"
    {{/if}}
{{/if}}
    {{#if item.unitName}}
    unit="{{item.unitName}}"
    {{/if}}
    {{#eq editor.editorType "TEXTBOX"}}
    type="text"
    {{/eq}}
    {{#eq editor.editorType "NUMBER"}}
    type="number"
    {{/eq}}
    {{#eq editor.editorType "PASSWORD"}}
    type="password"
    {{/eq}}
    {{#eq editor.editorType "TEXTAREA"}}
    type="textarea"
    {{/eq}}
    {{#eq editor.editorType "TEXTAREA_10"}}
    :isTextArea10="true"
    type="textarea"
    {{/eq}}
    style="{{#if editor.editorWidth}}width: {{editor.editorWidth}}px;{{/if}}{{#if editor.editorHeight}}height: {{editor.editorHeight}}px{{/if}}"
{{#eq ctrlType 'grid'}}
    name="{{#if dataItemName}}{{dataItemName}}{{else}}{{item.codeName}}{{/if}}"
    :isDebounce="true"
    {{#if (eq item.enableCond 0)}}
    :disabled="true"
    {{else if (eq item.enableCond 1)}}
    :disabled="!Object.is(record.srfuf,0)"
    {{else if (eq item.enableCond 2)}}
    :disabled="!Object.is(record.srfuf,1)"
    {{/if}}
    :value="record.{{#if dataItemName}}{{dataItemName}}{{else}}{{editor.name}}{{/if}}"
    @component-action="(actionParam:any) => { handleComponentAction(controller, actionParam, index) }"
{{/eq}}
{{#eq ctrlType 'panel'}}
    name="{{item.name}}"
    :isDebounce="true"
    {{#if isMultiData}}
    :disabled="store.layoutModelDetails[`{{item.name}}_${data.index}`]?.disabled ? true : false"
    :value="store.layoutData[`{{item.name}}_${data.index}`]"
    @component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam, data.index) }"
    {{else}}
    :disabled="store.layoutModelDetails.{{item.name}}?.disabled ? true : false"
    :value="store.layoutData.{{item.name}}"
    @component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
    {{/if}}
{{/eq}}
{{#eq ctrlType 'form'}}
    name="{{item.codeName}}"
    :isDebounce="false"
    :disabled="store.detailModel.{{item.codeName}}.disabled"
    {{!-- 适配表单重复器 --}}
    {{#if repeaterMode}}
    :value="data.{{editor.name}}"
    {{else}}
    :value="store.data.{{editor.name}}"
    {{/if}}
    @component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
{{/eq}}
{{#eq ctrlType 'gridColumnFilter'}}
    name="{{editor.name}}"
    :isDebounce="true"
    :value="value"
    @component-action="handleComponentAction"
{{/eq}}
/>
