index.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { NButton, NIcon, NModal, NScrollbar } from "naive-ui";
  2. import { computed, defineComponent } from "vue";
  3. import styles from "./index.module.less";
  4. import { Close } from "@vicons/ionicons5";
  5. export default defineComponent({
  6. name: "TheJianpu",
  7. props: {
  8. show: {
  9. type: Boolean,
  10. default: false,
  11. },
  12. abc:{
  13. type:String,
  14. default:""
  15. }
  16. },
  17. emits: ["update:show"],
  18. setup(props, { emit }) {
  19. const src = computed(() => {
  20. return `${location.origin}/jianpu/index.html?c=` + encodeURIComponent(props.abc);
  21. });
  22. return () => (
  23. <NModal displayDirective="if" autoFocus={false} show={props.show} onUpdate:show={(val) => emit("update:show", val)}>
  24. <div class={styles.jianpu}>
  25. <div class={styles.head}>
  26. <div>简谱预览</div>
  27. <NButton
  28. class={styles.close}
  29. quaternary
  30. circle
  31. size="small"
  32. onClick={() => emit("update:show", false)}
  33. >
  34. <NIcon component={Close} size={18} />
  35. </NButton>
  36. </div>
  37. <div class={styles.content}>
  38. <iframe class={styles.iframe} src={src.value}></iframe>
  39. </div>
  40. </div>
  41. </NModal>
  42. );
  43. },
  44. });