如何使用typescript在Nativescript vue中传递对象而不是字符串? 我想实现PromptDialog,如中所示

如何使用typescript在Nativescript vue中传递对象而不是字符串? 我想实现PromptDialog,如中所示,typescript,vue.js,nativescript,nativescript-vue,Typescript,Vue.js,Nativescript,Nativescript Vue,但Vetur给出了以下类型脚本错误 Argument of type '{ title: string; message: string; okButtonText: string; cancelButtonText: string; defaultText: string; inputType: string; }' is not assignable to parameter of type 'string'. 这只是中的示例代码,但typescript自适应 基本用途 维图尔错误: Pr

但Vetur给出了以下类型脚本错误

Argument of type '{ title: string; message: string; okButtonText: string; cancelButtonText: string; defaultText: string; inputType: string; }' is not assignable to parameter of type 'string'.
这只是中的示例代码,但typescript自适应

基本用途 维图尔错误:

Property 'then' does not exist on type 'string'.

这是对文件的一次疏漏。没有调用提示符的API。它应该是对话框。提示。 正确的例子

<script lang="ts">
    import * as dialogs from "tns-core-modules/ui/dialogs";
     export default {
        methods: {
            onButtonTap() {
                console.log("Button was pressed");
                dialogs.prompt({
                    title: "Email Prompt",
                    message: "Provide your email address:",
                    okButtonText: "OK",
                    cancelButtonText: "Cancel",
                    defaultText: "name@domain.com",
                    inputType: dialogs.inputType.email
                }).then(result => {
                    console.log(`Dialog result: ${result.result},
                text: ${result.text}`);
                });
            }
        },

        data() {
            return {};
        }
    };
</script>

从“tns核心模块/ui/对话框”导入*作为对话框;
导出默认值{
方法:{
onButtonTap(){
控制台日志(“按钮被按下”);
对话框.prompt({
标题:“电子邮件提示”,
信息:“提供您的电子邮件地址:”,
OK按钮文字:“OK”,
cancelButtonText:“取消”,
默认文本:“name@domain.com",
inputType:dialogs.inputType.email
})。然后(结果=>{
log(`Dialog result:${result.result},
text:${result.text}`);
});
}
},
数据(){
返回{};
}
};

提示符
接受
字符串
作为参数,如果我们讨论这个:PromptDialog,其含义是API具有不正确的类型声明
Property 'then' does not exist on type 'string'.
<script lang="ts">
    import * as dialogs from "tns-core-modules/ui/dialogs";
     export default {
        methods: {
            onButtonTap() {
                console.log("Button was pressed");
                dialogs.prompt({
                    title: "Email Prompt",
                    message: "Provide your email address:",
                    okButtonText: "OK",
                    cancelButtonText: "Cancel",
                    defaultText: "name@domain.com",
                    inputType: dialogs.inputType.email
                }).then(result => {
                    console.log(`Dialog result: ${result.result},
                text: ${result.text}`);
                });
            }
        },

        data() {
            return {};
        }
    };
</script>