JavaScript (ES7), 6884 bytes
n=>[...Array(n**n).keys()].filter(i=>!/(.).*\1/.test(i.toString(n)))
Note: This fails with a RangeError for n > 9. 78 bytes handles n up to 13, after which the code falls into an infinite loop due to floating-point precision:
n=>{a=[];for(i=n**n;ii=n**n;j=i--;)/(.).*\1/;j||a.testunshift(i.toString(n))||a.unshiftfor(ib=0;(b^=f=1<<j%n)&f;j=j/n|0);return a}