RadDataForm nativescript vue show/hide 密码

RadDataForm nativescript vue show/hide password

有这部分代码形式:

<RadDataForm id="loginForm" ref="loginForm" :source="user">
  <TKEntityProperty v-tkDataFormProperty name="password" displayName imageResource="res://lock" hintText="Password" index="0">
    <TKPropertyEditor v-tkEntityPropertyEditor type="Password">
      <TKPropertyEditorStyle v-tkPropertyEditorStyle labelWidth="4" />
    </TKPropertyEditor>
  </TKEntityProperty>
</RadDataForm>

需要追加icon/image可以点击show/hide密码

如果我没记错的话,CustomPropertyEditor 尚未在最新版本的 nativescript-ui-dataform 插件(截至今天 v4.0.0)中作为 Vue 指令公开。

因此您必须先将其与 RadDataForm 一起注册,可能类似于

import Vue from 'nativescript-vue';
import * as RadDataFormModule from "nativescript-ui-dataform";

import RadDataForm from "nativescript-ui-dataform/vue";
Vue.use(RadDataForm);

Vue.registerElement("TKCustomPropertyEditor", function () {
    return RadDataFormModule.CustomPropertyEditor;
});

现在只需使用 TKCustomPropertyEditor 而不是 TKPropertyEditor

        <TKEntityProperty v-tkDataFormProperty name="password">
            <TKCustomPropertyEditor v-tkEntityPropertyEditor
                @editorNeedsView="onPasswordEditorNeedsView">
            </TKCustomPropertyEditor>
        </TKEntityProperty>

现在您可以按照文档中的说明在 editorNeedsView 事件上创建和分配您喜欢的视图。